// Evol scripts.
// Authors:
//    Hal9000
//    Qwerty Dragon
// Description:
//    La Johanne Chef.
// Variable:
//    ShipQuests_ChefGado
//    ShipQuests_Nard
// Values:
//    0   Default, no quest given.
//    1   Quest accepted.
//    2   Ingredients collected, ready to poison Julia.
//    3   Julia poisoned.
//    4   Quest complete. Chef Gago wins.
//    5   Quest complete. Julia wins (poison dish returned).
//    6   Quest complete. Julia wins.

000-2-1,27,28,0	script	Chef Gado	NPC_CHEF_GADO,{
    .@q = getq(ShipQuests_ChefGado);
    .@n = getq(ShipQuests_Nard);
    if (.@q == 1) goto L_QuestAccepted;
    if (.@q == 2) goto L_PoisonAccepted;
    if (.@q == 3) goto L_PoisonJulia;
    if (.@q == 4) goto L_QuestComplete;
    if (.@q == 5 && countitem(PoisonedDish) > 0) goto L_Aborting;
    if (.@q > 4) goto L_QuestAborted;
    if (.@n == 3) goto L_QuestStart;

    mesn;
    .@r = rand(3);
    if (.@r == 0) mesq l("What are you doing in my kitchen?! Get out, it's not a place for kids!");
    if (.@r == 1) mesq l("Where is the damn salt?! Give me the salt, I know you have it!");
    if (.@r == 2) mesq l("Are you going to stand here all day long? Do the dishes or go away.");

    close;

L_QuestStart:
    mesn;
    mesq l("So it seems I have another stomach to fill. Those bastards have no respect for who feeds them every damn day!");
    next;

    menu
        l("How rude! What is the reason behind your malice?"), L_Rude,
        l("I swear, I do not eat so much."), -;

    mes "";
    mesn;
    mesq l("Yeah, yeah, of course you don't...");

    close;

L_Rude:
    mes "";
    mesn;
    mesq l("UAHAHAHAAH! I am the cook of that bunch of donkeys, and I can be rude with everyone from this bossy captain to that harpy-lady!");
    next;

    select
        l("Harpy-lady?");

    mes "";
    mesn;
    mesq l("I am sure you know her. Nice dress, large smile and a constant flux of orders and rules. Julia they call her!");
    next;
    mesq l("You have to know that there was a time during which I was the unopposed lieutenant of this crew. Then one day one of those damn sailors brought that 'nice' lady here.");
    next;
    mesq l("I will not tell you all the details, but after a month, she was ruling the ship and I was sent down here, cooking for those traitors!");
    next;
    mesq l("But I swear that one day... Oh... My tasty revenge! Hhm, actually I wonder if... Maybe...");
    next;

    select
        l("M... Maybe?");

    mes "";
    mesn;
    mesq lg("Well, eh-heh... Welcome aboard, cutie!", "Well, eh-heh... Welcome aboard, son!");
    next;
    mesq l("I just realized I am lacking some common things, and one key ingredient, to prepare a... A special recipe.");
    next;
    mesq l("I only need 2 @@, 2 @@s, 1 @@...", getitemlink(PiouLegs), getitemlink(HalfCroconut), getitemlink(Aquada));
    next;
    mesq l("... and 1 @@.", getitemlink(SeaDrops));
    next;

    menu
        l("Sea water?! I will not help you with your evil plan!"), L_Quit,
        l("Sure, why not?"), -;

    setq ShipQuests_ChefGado, 1;
    mes "";
    mesn;
    mesq lg("Well done! Collect all the ingredients and then come back here. You will be rewarded once I am satisfied that they understand who rules this ship!");
    next;
    mesq l("Before you go, let me tell you how to get @@s, because you don't look very smart.", getitemlink(HalfCroconut));

    goto L_OpenCroconut;

L_QuestAccepted:
    mesn;
    mesq l("Have you collected all the ingredients for my recipe? The special one too?");
    next;

    menu
        rif(countitem(PiouLegs) > 1 && countitem(HalfCroconut) > 1 && countitem(Aquada) > 0 && countitem(SeaDrops) > 0, l("All your... Fresh ingredients are ready to be cooked.")), L_GotAll,
        l("What are your needs?"), L_Need,
        l("Where can I find a half croconut?"), L_OpenCroconut,
        l("Not yet. I will be back soon."), L_Quit;

L_OpenCroconut:
    mes "";
    mesn;
    mesq lg("Take a @@ and try opening it using something like a sharp knife. I doubt you'll succeed, you're being so weak in everything.",
            "Take a @@ and try opening it using something like a sharp knife. I doubt you'll succeed, you're being so weak in everything.", getitemlink(Croconut));
    next;
    mesq l("Now move!");

    close;

L_GotAll:
    mes "";

    inventoryplace PoisonedDish, 1;

    delitem PiouLegs, 2;
    delitem HalfCroconut, 1;
    delitem Aquada, 1;
    delitem SeaDrops, 1;

    mesn;
    mesq l("Let me see... Crispy legs, disgusting liquids... Let's start!");
    next;
    mesq l("Water, salt, spicy herbs and meat stuffed with my special surprise!");
    next;
    mesq l("Done. Here, take it! Now, here is the plan. Go talk to her and offer our beautiful lady a bite of her arrogance!");

    setq ShipQuests_ChefGado, 2;
    getitem PoisonedDish, 1;
    close;

L_Need:
    mes "";
    mesn;
    mesq l("Shhht, don't say it that loud...");
    next;
    mesq l("I only need 2 @@, 2 @@s, 1 @@...", getitemlink(PiouLegs), getitemlink(HalfCroconut), getitemlink(Aquada));
    next;
    mesq l("... and 1 @@.", getitemlink(SeaDrops));

    close;

L_PoisonAccepted:
    mesn;
    mesq l("Fool! Just come back here when you'll be done with our little... 'Secret mission'.");

    close;

L_PoisonJulia:
    mesn;
    mesq l("The usurper has been punished! This is a great day! Take this reward as a prize for your loyalty to the old commander!");

    setq ShipQuests_ChefGado, 4;
    Zeny = Zeny + 200;
    message strcharinfo(0), l("You receive @@ E!", 200);
    inventoryplace Bread, 1;
    getitem Bread, 1;
    getexp 15, 0;

    close;

L_QuestComplete:
    mesn;
    mesq l("Oh, it's you. I think it's better we do not talk for a while. They suspect something.");

    close;

L_Aborting:
    mesn;
    mesq l("Wait, why do you still have the dish with you?!");
    next;

    select
        l("I informed Julia about your monstrous plan.");

    mes "";
    mesn;
    mesq l("Are you mad?!");
    next;
    mesq lg("Give me back this dish, you dirty liar!");

    if (countitem(PoisonedDish) > 0) delitem PoisonedDish, 1;

    next;
    mesq l("You're like the rest of this filthy crew, I can't trust you!");

    close;

L_QuestAborted:
    mesn;
    mesq lg("You're like the rest of this filthy crew. Your name is now on the traitors list!");

    close;

L_Quit:
    closedialog;
    close;

OnInit:
    .sex = G_MALE;
    .distance = 2;
    end;
}
